//////////////////////////////////////////////////////
// MyMonster.h
//////////////////////////////////////////////////////
#include<iostream>
using namespace std; 
#include<string>
#include<ctime>
#pragma once

class CMyMonster
{
protected:
    int m_iSector;
	int m_tempSector;
    int m_iHitPoints;
    int m_iMaxHitPoints;
    int m_iArmor;
    int m_iWeapon;
    int m_iGold;
    int m_iKeys;
    int m_iPotions;
    int m_iExperience;	
	int m_HomeFrame; // character's base frame
	int m_CurrentFrame; // character's current frame animation
	int m_Facing;
	bool m_MonsterDead;
	int RespawnCounter;
	bool Respawn;

	string name;

	int Strength, Dexterity, Constitution, Wisdom, Charisma, Intelligence;
	int AttackM, AttackR, Speed, HealthPointsM, HealthPointsC, HealthD, ManaPoolM, ManaPoolC, ManaD, ManaU;
	int BodyWeight, ItemWeight, TotalWeight, Damage, Level, Experience;
	int ArmorClass, Chest, Shield, WeaponMax, WeaponMin, Helm, Boots, Gloves, Laggings;
	int AttackB, BaseAttack, Attack; 

public:
    CMyMonster(void);
	CMyMonster(int);
    ~CMyMonster(void);

    void SetSector(int num);
    int GetSector();
	void SetTempSector(int num);
    int GetTempSector();
    void SetHitPoints(int num);
    int GetHitPoints();
    void SetMaxHitPoints(int num);
    int GetMaxHitPoints();
    void SetArmor(int num);
    int GetArmor();
    void SetWeapon(int num);
    int GetWeapon();
    void SetGold(int num);
    int GetGold();
    void SetKeys(int num);
    int GetKeys();
    void SetPotions(int num);
    int GetPotions();
    void SetExperience(int num);
    int GetExperience();
	int GetHomeFrame();
	void SetHomeFrame(int num);
	int GetCurrentFrame();
	void SetCurrentFrame(int num);
	int GetFacing();
	void SetFacing(int num);

	void PlayerSetup();
	int getConstitution() { return Constitution; }
	int getStrength() { return Strength; }
	int getDexterity() { return Dexterity; }
	int getIntelligence() { return Intelligence; }
	int getWisdom() {return  Wisdom; }
	int getCharisma() { return Charisma; } 
	int getSpeed() { return Speed; }
	int getItemWeight() { return  ItemWeight; }
	int getTotalWeight() { return TotalWeight;}
	int getBodyWeight() { return BodyWeight;}
	int getHealthPointsM() { return HealthPointsM; }
	int getHealthPointsC() { return HealthPointsC; }
	int getManaPoolM() { return ManaPoolM; }
	int getManaPoolC() { return ManaPoolC; } 
	int getLevel() { return Level; }
	int getExperience() { return Experience; }
	int getHealthD() { return HealthD; }
	int getManaD() { return ManaD; }
	int getAttackM();
	int getAttackR();
	int getArmorClass() { return ArmorClass; }
	int getChest() { return Chest; }
	int getShield() { return Shield; }
	int getWeaponMax() { return WeaponMax; }
	int getWeaponMin() { return WeaponMin; }
	int getHelm() { return Helm; }
	int getBoots() { return Boots; }
	int getGloves() { return Gloves; }
	int getLaggings() { return Laggings; }
	int getAttackB() { return AttackB; }
	int getBaseAttack() { return BaseAttack; }
	int getAttack(); 

	void SetMonsterDead(bool Dead);
    bool GetMonsterDead();


	void setDamage(int);
	void setConstitution();
	void setStrength();
	void setDexteriry();
	void setCharisma();
	void setSpeed();
	void setIntelligence();
	void setWisdom();
	void setWeight();
	void setHealthPointsM();
	void setHealthPointsC();
	void setManaPoolM();
	void setManaPoolC();
	void setManaU(int);
	void setLevel();
	void setExperience(int);
	void setAttackB(int);
	void setArmorClass();
	void setChestA(int, int);
	void setSheildA(int);
	void setAttackB() { AttackB = BaseAttack + ((Strength -10)/2); }
	void setBaseAttack() { BaseAttack = Level; }

	void SetRespawnCounter(int Respawn);
	int GetRespawnCounter(); 

	void SetRespawn(bool blRespawn);
    bool GetRespawn();
};
